package com.neusoft.yiyang.common.entity.customer;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.neusoft.yiyang.common.enums.ApprovalStatus;
import com.neusoft.yiyang.common.enums.LeaveType;
import lombok.Data;

import java.util.Date;

@Data
@TableName("leave_request")
public class LeaveRequest {

    @TableId
    private Integer leaveRequestId;  // 退住申请ID

    private Integer customerId;      // 客户ID（关联 customer 表）
    private Integer caretakerId;     // 护工ID（关联 user 表）
    private LeaveType leaveType;     // 退住类型（使用枚举：normal、deceased、keep_bed）
    private String reason;           // 退住原因
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date plannedLeaveDate;   // 计划退住日期（使用Date类型，数据库中为DATE）
    private ApprovalStatus approvalStatus; // 审批状态（submitted、approved、rejected）
    private Date approvalTime;      // 审批时间（使用Date类型，数据库中为DATETIME）
    private Integer approverId;      // 审批人ID（关联 user 表）
}
